package com.xd.core.company.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.Page;
import com.xd.core.company.entity.ElectronicTransferInfo;
import com.xd.core.finance.dto.PaymentRecordQueryDto;
import com.xd.core.finance.dto.RechargeAndRefundQueryDto;
import com.xd.core.finance.vo.PaymentRecordQueryVo;
import com.xd.core.finance.vo.RechargeAndRefundQueryVo;

/**
 * <p>
 * 电子转账记录 服务类
 * </p>
 *
 * @author ZX
 * @since 2025-03-03
 */
public interface IElectronicTransferInfoService extends IService<ElectronicTransferInfo> {

    /**
     * @description: 债权方账户-支付记录(平台资方共用)
     * @author: ZCH
     * @date: 2025/3/6 0006 16:49
     * @param: [preDepositeQueryDto]
     * @return: com.github.pagehelper.Page<com.xd.core.finance.vo.PaymentRecordQueryVo>
     **/
    Page<PaymentRecordQueryVo> getPaymentRecords(PaymentRecordQueryDto paymentRecordQueryDto);

    /**
     * @description: 业务账户-退款记录
     * @author: ZCH
     * @date: 2025/3/7 0007 10:46
     * @param: [dto]
     * @return: com.github.pagehelper.Page<com.xd.core.finance.vo.RechargeAndRefundQueryVo>
     **/
    Page<RechargeAndRefundQueryVo> getRechargeAndRefundRecords(RechargeAndRefundQueryDto dto);

    /**
     * @description: 债权方账户支付记录导出
     * @author: ZCH
     * @date: 2025/3/25 0025 9:52
     * @param: [dto, id]
     * @return: void
     **/
    void exportPaymentRecords(PaymentRecordQueryDto dto, Integer id);

    /**
     * @description: 业务账户退款记录导出
     * @author: ZCH
     * @date: 2025/3/25 0025 10:25
     * @param: [dto, id]
     * @return: void
     **/
    void exportRechargeAndRefundRecords(RechargeAndRefundQueryDto dto, Integer id);
}
